package br.com.hsp.system.repository;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import br.com.hsp.users.Usuario;

public class UserRepository {
	
	private EntityManager manager ;
	
	public UserRepository ( EntityManager manager ) {
		this.manager = manager ;
	}
	
	public void add(Usuario user) {
		this.manager.persist(user);
	}
	
	public void remove(Long id) {
		Usuario user = this.procura(id);
		this.manager.remove(user);
	}
	
	public Usuario atualiza(Usuario user) {
		return this.manager.merge(user);
	}
	
	public Usuario procura(Long id) {
		return this.manager.find(Usuario.class, id);
	}
	
	
	public Usuario procuraCPF(String cpf) {
		Query query = this.manager.createQuery("SELECT x from Usuario x WHERE x.cpf='"+cpf+"'");
		return (Usuario) query.getResultList().get(0);
	}
	
	public List<Usuario> getLista() {
		Query query = this.manager.createQuery("SELECT x from Usuario x");
		return query.getResultList();
	}
}
